package com.xh.bussiness.system.service;



import com.xh.bussiness.system.bean.request.CourseSystemRequest;
import com.xh.bussiness.system.bean.request.SaveCourseSystemRequest;
import com.xh.bussiness.system.model.CourseSystem;
import com.xh.bussiness.system.model.Dictionary;
import com.xh.core.service.IBaseService;
import com.xh.core.bean.XhPage;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 课程体系 服务类
 * </p>
 *
 * @author Pitt
 * @since 2020-11-18
 */
public interface ICourseSystemService extends IBaseService<CourseSystem> {

    /**
     * 分页查询方法
     * @param page
     * @param bean
     * @return
     */
    public XhPage queryCourseSystemPage(XhPage page, CourseSystemRequest bean);

    /**
     * 查询方法
     * @param bean
     * @return
     */
    public List queryCourseSystem(CourseSystemRequest bean);

    /**
     * 根据学科查询课程体系
     * @param subjectId
     * @param typeCode
     * @return
     */
    Map<String, Object> queryCourseSystemBySubject(String subjectId,String[] typeCode);

    /**
     * 配置课程体系
     * @param courseSystem
     * @return
     */
    boolean saveOrUpdateCourseSystemBySubjectId(CourseSystem courseSystem);

    /**
     * 批量配置课程体系
     * @param request
     */
    boolean batchSaveOrUpdateCourseSystemBySubjectId(SaveCourseSystemRequest request);

    /**
     * 根据课程体系查询基础项
     * @param subjectCode
     * @param typeCode
     * @return
     */
    List<Dictionary> queryDictionaryByCourseSystem(String subjectCode,String typeCode);

    List<Dictionary> queryLikeDictionaryByCourseSystem(String subjectCode,String name,String typeCode);

}
